import Vue from 'vue';
import { sync } from 'vuex-router-sync';
import App from './App.vue';
import router from './router';
import store from './store';
import api from './api';
import eventBus from './utils/event-bus';
import wait from './plugins/vue-wait'; // 导入 vue-wait
import './plugins/element'; // 导入 elementUI
import './plugins/echarts'; // 导入 v-echarts 组件
import './scss/index.scss'; // 导入全局 style
import './directives/'; // 导入指令
import './filters'; // 导入全局过滤器

// 作为 $api 引入
Vue.use(api);

// 做为 $eventBus 引入
Vue.use(eventBus);

Vue.config.productionTip = false;

// 同步 router 到 store
sync(store, router);

new Vue({
  router,
  store,
  render: h => h(App),
  wait,
}).$mount('#app');
